#ifndef GRAPHORIENTED_H
#define GRAPHORIENTED_H
#include <iostream>
#include "graphtypes.h"
#include "Graph.h"
//#include "GraphFlow.h"

class GraphFlow;

using namespace std;

class GraphOriented : public virtual Graph
{
protected :
  /* Valeurs héritées de la classe Graphe */
public :
  GraphOriented();
  GraphOriented(summit_t, edges_t);
  virtual ~GraphOriented();
  virtual bool areConnected(summit_t i, summit_t j) const=0;
  //virtual void updateLevelGraph(const GraphFlow &);
  virtual void updateLevelGraph(const GraphFlow &g, vector<summit_t> * path=NULL, flow_t delta = 0);
  virtual void updateCapacityScallingGraph(const GraphFlow &g, flow_t max_cap, vector<summit_t> * path=NULL);
  //virtual summit_t getSummitNb() const;
  //virtual void setSummitNb(summit_t n);
  //virtual edges_t getEdgesNb() const;
  //virtual void setEdgesNb(edges_t m);
};

#endif
